#!/bin/bash

# 自动获取当前日期（格式：月.日）
CURRENT_DATE=$(date +%m.%d)

START_LAYER=0
END_LAYER=1

# 并行压缩所有类型的文件
(
for ((i=START_LAYER; i<=END_LAYER; i++)); do
    # LLM 文件
    files=( hardware/language_model.model.layers.${i}.* )
    if [ -e "${files[0]}" ]; then
        echo "正在压缩 LLM layer ${i} 的文件..."
        tar -cv --use-compress-program='xz -T0 -9 -v' -f "whl${CURRENT_DATE}_llm_layer${i}.tar.xz" "${files[@]}"
    else
        echo "警告: 没有找到 LLM layer ${i} 的文件" >&2
    fi
done
) &

(
for ((i=START_LAYER; i<=END_LAYER; i++)); do
    # ViT 文件
    files=( hardware/vision_backbone.featurizer.blocks.${i}.* )
    if [ -e "${files[0]}" ]; then
        echo "正在压缩 ViT layer ${i} 的文件..."
        tar -cv --use-compress-program='xz -T0 -9 -v' -f "whl${CURRENT_DATE}_vit_layer${i}.tar.xz" "${files[@]}"
    else
        echo "警告: 没有找到 ViT layer ${i} 的文件" >&22
    fi
done
) &

(
for ((i=START_LAYER; i<=END_LAYER; i++)); do
    # ViT fused 文件
    files=( hardware/vision_backbone.fused_featurizer.blocks.${i}.* )
    if [ -e "${files[0]}" ]; then
        echo "正在压缩 ViT fused layer ${i} 的文件..."
        tar -cv --use-compress-program='xz -T0 -9 -v' -f "whl${CURRENT_DATE}_vit_fused_layer${i}.tar.xz" "${files[@]}"
    else
        echo "警告: 没有找到 ViT fused layer ${i} 的文件" >&2
    fi
done
) &

# 等待所有后台任务完成
wait
echo "所有压缩任务完成"